<?php
/**
 * Проверка при добавления урла в меню, что он содержит начало модуля.
 * @author nrnwest@gmail.com
 *
 */
class Admin_Validate_Addurl extends Zend_Validate_Abstract
{

    protected $_messageTemplates = array('error'=>'Урл должен начинатся с: "%value%"');
    

    private $_idModule = 0;
    
    
    public function __construct($idModule)
    {
        $this->_idModule = (int) $idModule;
    }
    
    public function isValid($value)
    {
        $value = (string) $value;
        if($this->_idModule === 0) {
            return true;
        }
        // Получения имени модуля.
        $module = Arm_Module::getInstance()->getNameModule($this->_idModule);
        if($module === 'default') {
            return true;
        }
        $filter = new Arm_Filter_Url();
        $url    = $filter->filter($value);
        if(strpos($url, '/'.$module) !== 0) {
             $this->_error('error', '/'.$module);
             return false;
        }
        return true;
    }
    
}